Targeted crawler to develop and/or maintain a searchable database of media content across multiple content providers

ABSTRACT

A system is described that includes an electronic program guide (EPG) data receiver and a media content catalog enhancer. The EPG receiver is configured to receive EPG data from an EPG data provider. The media content catalog enhancer is configured to determine that an item of media content identified by the EPG data comprises new media content and, in response to determining that the item of media content identified by the EPG data comprises new media content, to cause a web crawler to crawl a source website associated with the new media content to obtain information about the new media content and to store the obtained information about the new media content in a database, the database comprising a catalog of media content that is searchable by an end user to identify and access content for playback via an end user device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/857,205, filed on Dec. 28, 2017, entitled “TARGETED CRAWLER TODEVELOP AND/OR MAINTAIN A SEARCHABLE DATABASE OF MEDIA CONTENT ACROSSMULTIPLE CONTENT PROVIDERS,” which claims foreign priority to IndianProvisional Patent Application No. 201641044985, filed Dec. 30, 2016,entitled “Enhancing Search for Content Across a Wide Variety of ContentProviders,” the entireties of which are incorporated by referenceherein.

BACKGROUND Technical Field

The subject matter described herein relates to the development and/ormaintenance of databases that facilitate searching for and accessingmultimedia content.

Description of Related Art

Media content (e.g., movies, shows, music, etc.) is constantly growingand rapidly changing. As such, there is an influx of both the items ofmedia content available for consumption by users and the contentproviders that provide the items of media content. Accordingly, it isdifficult for user devices to obtain all this information, let alonekeep it accurate and up to date. For instance, a user may want to watchan item of media content but is unable to quickly and accuratelydetermine what content provider(s) are providing the item of mediacontent and at what time the item of media content is available from thecorresponding content provider(s).

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

Methods, systems, apparatuses, and computer program products areprovided for enabling targeted crawling to develop and maintain asearchable database of media content that is accessible by an end userdevice. A system in accordance with one embodiment includes anelectronic program guide (EPG) data receiver and a media content catalogenhancer. The EPG receiver is configured to receive EPG data from an EPGdata provider. The media content catalog enhancer is configured todetermine that an item of media content identified by the EPG datacomprises new media content and, in response to determining that theitem of media content identified by the EPG data comprises new mediacontent, to cause a web crawler to crawl a source website associatedwith the new media content to obtain information about the new mediacontent, and to store the obtained information about the new mediacontent in a database. In further accordance with this embodiment, thedatabase may comprise a catalog of media content that is searchable byan end user to identify and access content for playback via an end userdevice.

A system in accordance with a further embodiment includes a mediacontent identifier and a media content catalog enhancer. The mediacontent identifier is configured to cause a web crawler to crawl one ormore trending websites, rating websites, or informational websites toidentify an item of media content. The media content catalog enhancer isconfigured to determine that the item of media content identified by themedia content identifier comprises new media content and, in response todetermining that the item of media content identified by the mediacontent identifier comprises new media content, to cause a web crawlerto crawl a source website associated with the new media content toobtain information about the new media content, and to store theobtained information about the new media content in a database. Infurther accordance with this embodiment, the database may comprise acatalog of media content that is searchable by an end user to identifyand access content for playback via an end user device.

Further features and advantages, as well as the structure and operationof various examples, are described in detail below with reference to theaccompanying drawings. It is noted that the ideas and techniques are notlimited to the specific examples described herein. Such examples arepresented herein for illustrative purposes only. Additional exampleswill be apparent to persons skilled in the relevant art(s) based on theteachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate embodiments and, together with thedescription, further serve to explain the principles of the embodimentsand to enable a person skilled in the pertinent art to make and use theembodiments.

FIG. 1 is a block diagram of an example system for performing a targetedcrawl to develop and/or maintain a searchable database of media contentthat is accessible by an end user device, in accordance with anembodiment.

FIG. 2 shows a flowchart of a method for performing a targeted crawl todevelop and/or maintain a searchable database of media content that isaccessible by an end user device, in accordance with an embodiment.

FIG. 3 shows a flowchart of a method for determining that an item ofmedia content comprises new media content, in accordance with anembodiment.

FIG. 4 shows another flowchart of a method for determining that an itemof media content comprises new media content, in accordance with anembodiment.

FIG. 5 shows another flowchart of a method for determining that an itemof media content comprises new media content, in accordance with anembodiment.

FIG. 6 shows a flowchart of a method for scheduling a targeted crawl ofa source website, in accordance with an embodiment.

FIG. 7 shows a flowchart of a method for searching a database for mediacontent that is accessible by an end user device, in accordance with anembodiment.

FIG. 8 shows a block diagram of another example system for performing atargeted crawl to develop and/or maintain a searchable database of mediacontent that is accessible by an end user device, in accordance with anembodiment.

FIG. 9 shows a flowchart of another method for performing a targetedcrawl to develop and/or maintain a searchable database of media contentthat is accessible by an end user device in accordance with anembodiment.

FIG. 10 is a block diagram of an example processor-based system that maybe used to implement various embodiments described herein.

Embodiments will now be described with reference to the accompanyingdrawings. In the drawings, like reference numbers indicate identical orfunctionally similar elements. Additionally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION I. Introduction

The present specification discloses numerous example embodiments. Thescope of the present patent application is not limited to the disclosedembodiments, but also encompasses combinations of the disclosedembodiments, as well as modifications to the disclosed embodiments.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to effect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

II. Example Embodiments

The example embodiments described herein are provided for illustrativepurposes, and are not limiting. The examples described herein may beadapted to any type of targeted crawling system. Further structural andoperational embodiments, including modifications/alterations, willbecome apparent to persons skilled in the relevant art(s) from theteachings herein.

As noted in the Background Section, above, media content is constantlygrowing and rapidly changing. For instance, catalogs of contentproviders, such as Hulu®, Netflix® and Amazon®, often change on a dailyand hourly basis. Furthermore, the number of content providers is anever-growing list. As such, it is difficult to keep track of what itemsof media content are available, where the items of media content areavailable, and at what time the items of media content are available.Moreover, while certain items of media content may be present atmultiple content providers, the information/metadata specific to theitem of media content at each content provider differs, making itdifficult to catalog or organize the information in a database or evendetermine that the content providers contain the same item of mediacontent.

Embodiments herein are directed to efficiently developing andmaintaining a searchable database of media content across multiplecontent providers by enabling targeted crawling of source websites. Inembodiments, a media content search system first identifies items ofmedia content. An item of media content is any information or experiencedirected towards an end user or audience and may include, for example,digital movies, programs, music or the like that can be downloaded orstreamed to an end user device for playback to an end user. The items ofmedia content may be available from one or more source websites,discussed in detail hereinafter, and the items of media content may beidentified in various ways.

In an embodiment, the media content search system identifies items ofmedia content based on electronic program guide (EPG) data. Forinstance, an EPG data receiver of the media content search system mayreceive EPG data from an EPG data provider (e.g., DirectTV®, AT&T®,Comcast®, etc.), wherein the EPG data identifies items of media contentthat are scheduled to air along with their corresponding availabilitytimes. Such EPG data may be made available by the EPG data provider someperiod of time (e.g., 15 days) ahead of when the programs identifiedtherein are scheduled to air.

In an alternative embodiment, a media content identifier of the mediacontent search system identifies items of media content by crawlingcertain websites. For instance, the media content search system maycrawl certain trending websites, rating websites, and/or informationalwebsites to identify items of media content. Trending websites (e.g.,Twitter®, Facebook®, Instagram®, etc.) may comprise online news andsocial networking services where users post and interact throughmessages and pictures. Trending websites may provide information aboutwhat shows and events are popular, both currently and in the future. Forinstance, a trending website may provide information about what showsare being watched by specific demographics, or what shows and eventsusers are excited about. Rating websites (e.g., Rotten Tomatoes®, etc.)may comprise review aggregation websites for media content where usersrate media content, for instance, via a rating system and/or reviews.Rating websites may provide current and historic data about what mediacontent is popular and unpopular. For instance, a rating website mayprovide information about what movies were extremely popular andtherefore will likely be searched for by users. Informational websites(e.g., IMDB®) may comprise online databases of information related tomedia content. Informational websites may provide detailed informationabout media content, such as shows, movies, actors, release dates, etc.For instance, an informational website may provide information aboutwhat movies are going to be released that star a popular actor. As such,it may be determined that the movie will likely be popular.

Once the media content search system identifies items of media content,the media content search system then determines if an item of mediacontent comprises new media content. In embodiments, this determinationis performed by a media content catalog enhancer of the media contentsearch system. In an embodiment, the media content search system maycompare information about the item of media content to information aboutmedia content already stored in the database to determine if the item ofmedia content comprises new media content. Alternatively, the mediacontent search system may rely on received EPG data to determine ifitems of media content comprise new media content. For instance, thereceived EPG data may alert the media content search system that theitem of media content is being aired for the first time and thus, themedia content search system may determine that the item of media contentcomprises new media content. Furthermore, the media content searchsystem may rely both on the received EPG data and what is alreadypresent in the database to determine if items of media content comprisenew media content. For instance, the media content search system maydetermine that an item of media content is new media content if the itemof media content is being aired for the first time as specified by thereceived EPG data and there is no information about the item of mediacontent in the database. Still further, the media content search systemmay rely on information obtained by crawling particular websites todetermine if items of media content comprise new media content. Forinstance, an informational website may include a release date for anitem of media content and the media content search system may determinethat the item of media content comprises new media content based on therelease date.

Once the media content search system determines that certain items ofmedia content comprise new media content, the media search systemobtains information about the new items of media content such that theinformation can be stored in the database. Such information may includea content identifier (ID) as well as other information useful ornecessary to access the item of media content from a source website forplayback on an end user device. In an embodiment, the media contentsearch system causes a web crawler to crawl a source website associatedwith the new media content to obtain information about the new mediacontent. The web crawler may comprise a web spider, Internet bot, orother automated entity that is capable of browsing a source website toobtain information about items of media content.

A source website may comprise a website of a content provider for one ormore items of media content. A content provider may be any provider ofmedia content such as an over-the-top (OTT) media services provider(e.g., Hulu®, Netflix®, HBO®, Youtube®, Amazon®, etc.) or an onlinedigital media store (e.g., Itunes®, etc.). Once the web crawler crawlsthe source website(s), the web crawler may obtain a content ID and/orother information that corresponds to the item of media content at thecorresponding source website. In an embodiment, the web crawler isscheduled to crawl the source website at or around a time that the newmedia content becomes available (or at some other time related to thetime the new media content becomes available) as specified by the EPGdata or by other information obtained by the media content searchsystem.

Once the web crawler obtains information about the new media content,the web crawler provides the information about the new media content sothat it may be stored in a database in the media content search system.For instance, the database may store the obtained content ID for theitem of new media content. As such, if an end user of an end user devicewants to play the item of new media content corresponding to the contentID at a particular content provider, the end user device can obtain andpass the unique ID to an appropriate service which can then easily andefficiently retrieve the item of media content.

The database described herein may be searchable by an end user via anend user device to identify items of media content of interest to theend user and to access such items of media content for playback on anend user device (or via a device that is connected to the end userdevice). The database may be populated by obtaining information aboutitems of media content from various sources. For example, informationabout items of media content may be retrieved from content providers,such as, entertainment content metadata provider(s) (e.g., Gracenote®,Rovi®, etc.), video content provider(s) (e.g., Hulu®, Netflix®, HBO®,Youtube®, Amazon®, etc.), web-based information provider(s) (e.g.,IMDB®), and audio content provider(s) (e.g., Rhapshody®, Itunes®,Last.fm®, etc.). Information about items of media content may also beobtained from recorded content (e.g., content stored on DVR that isconnected to the end user device), and/or network-based content (e.g.,content that is stored in a local area network to which the end userdevice is connected). In this way, the database may be populated withinformation relating to popular and/or new media content such that whenthe end user of the end user device performs a search on the mediacontent search system, the system displays to the end user informationabout items of media content that are popular and/or new and can beeasily played using the content ID from the database.

For instance, in an embodiment, an end user may perform a search forcontent within the database of the media content search system. The enduser may submit a search query to the media content search system andthe media content search system may apply the search query to thedatabase to identify items of media content that are responsive to thequery. For instance, the end user may enter a search query for aparticular genre or type of media content. As such, the media contentsearch system will identify items of media content in the database thatare related to the particular genre or type identified in the searchquery. However, the database may contain information relating to itemsof media content made available by different content providers and,therefore, not every end user may have an account, subscription orlicense necessary to access an item of media content. Accordingly, in anembodiment, the media content search system filters the items of mediacontent that are responsive to the query such that the end user isprovided with only the items of media content that the end user has aright to access. Alternatively, or additionally, the media contentsearch system may rank the items of media content that are responsive tothe query such that the end user is provided first with the items ofmedia content that she has a right to access and second with theremaining items of media content that may be available to the end useronly if she subscribes to a service, creates an account, pays for thecontent, or the like. The items of media content that are responsive tothe query may also be filtered or ranked in other ways.

For example, the items of media content that are responsive to the querymay be filtered or ranked based on one or more of the following: whetherthe end user possesses a subscription to a service associated with eachitem of media content that is responsive to the query; a measure ofpopularity of each item of media content that is responsive to thequery; whether each item of media content that is responsive to thequery is currently available on live television; a user preferenceassociated with one or more of the items of media content that areresponsive to the query; whether each item of media content is relatedto a recently-watched item of media content; whether each item of mediacontent is determined to be of interest to one or more other end usersthat are related to the end user. Once the items of media content thatare responsive to the query are filtered or ranked, the informationabout the filtered or ranked items of media content are provided to theend user device for presentation to the end user.

Embodiments described herein address technical problems associated withbuilding and maintaining a database of information about items of mediacontent that are available across multiple content providers. Forexample, by limiting the crawling of content provider websites such thatthe crawling is focused only on new content and/or such that thecrawling only occurs at or around the time such new content becomesavailable, embodiments described herein can reduce the amount ofresources (e.g., processing power, network bandwidth and the like)necessary to obtain the desired media content information and therebyimprove the functioning of the computing devices upon which thedescribed system is implemented. Furthermore, by obtaining informationfrom a content provider about the new content the moment it becomesavailable (or shortly thereafter), the new content can be made quicklyaccessible to a user of the system with little or no delay. Stillfurther, by limiting the extent to which the content provider websitesmust be accessed, embodiments described herein can avoid being deniedaccess to such websites, since some websites may deny access to entitiesthat are deemed to be making too many access requests over a given timeperiod.

Example embodiments are described as follows that are directed toperforming a targeted crawl to develop and/or maintain a searchabledatabase of media content that is accessible by an end user device. Forinstance, FIG. 1 is a block diagram of an example system 100 forperforming a targeted crawl to develop and/or maintain a searchabledatabase of media content that is accessible by an end user device, inaccordance with an embodiment. As shown in FIG. 1, system 100 includesan EPG data provider 102, a media content search system 104, a pluralityof end user devices 108A-108N, and a plurality of source websites106A-106N. It should be noted that there can be any number of end userdevices and/or source websites present in system 100. End user devices108A-108N, source websites 106A-106N, and media content search system104 are all communicatively coupled via network 120. Network 120 maycomprise one or more networks such as local area networks (LANs), widearea networks (WANs), enterprise networks, the Internet, etc., and mayinclude one or more of wired and/or wireless communication links. EPGdata provider 102 is further coupled to media content search system 104.Such coupling between components may be wired, wireless, or acombination thereof and may be, for example, over network 120.

EPG data provider 102 is a system that provides data that is typicallyconsumed by an EPG, which is an application that is used with digitalset-top boxes and television sets to list current and scheduled programsthat are or will be available on each channel and a short summary orcommentary for each program. In embodiments, EPG data provider 102 maycomprise a server or other entity that is accessed by EPG data receiver110 via a network (e.g., the Internet) or some other communicationchannel. EPG data provider 102 may be configured to provideperiodically-updated or intermittently-updated EPG data. The EPG datamay be published by a variety of different media broadcasting entities,such as DirectTV®, AT&T®, Comcast®, or the like, although these examplesare not intended to be limiting.

End user devices 108A-108N are intended to represent devices that enableusers to interact with media content search system 104 and may includehandheld devices as well as stationary devices. Examples of handhelddevices include television remote controls, universal remotes, smartphones, tablet devices, and other devices that can be held in a person'shand or hands. Examples of stationary devices include televisions,set-top boxes, satellite TV receiver boxes, DVD players, and otherdevices too large to be easily carried by a human, and that are intendedto operate in a stationary location.

In an embodiment, one or more of end user devices 108A-108N comprise anHDMI switching device such as that described in commonly-owned U.S.patent application Ser. No. 14/945,125, filed Nov. 18, 2015, andentitled “Automatic Identification and Mapping of Consumer ElectronicDevices to Ports on an HDMI Switch”, the entirety of which isincorporated by reference herein. In accordance with such an embodiment,the HDMI switching device is connected to a television or other displaydevice and provides a user interface through such display device bywhich a user can search for items of media content. Search queriessubmitted by the end user are passed by the HDMI switching device tomedia content search system 104 and information about items of mediacontent that are responsive to the search query are passed back to theHDMI switching device for display via the connected display device. Ifthe end user selects one of the items of media content, the HDMIswitching device can utilize a content ID and/or other informationprovided by or otherwise accessible to media content search system 104to access the media content for playback to the end user via theconnected display device.

End users of end user devices 108A-108N are enabled to search forinformation about media content that is stored by media content searchsystem 104. Such media content information may be retrieved from one ormore content providers such as entertainment content metadataprovider(s) (e.g., Gracenote®, Rovi®, etc.), video content provider(s)(e.g., Hulu®, Netflix®, HBO®, Youtube®, Amazon®, etc.), web-basedinformation provider(s) (e.g, IMDB®), and audio content provider(s)(e.g., Rhapshody®, Itunes®, Last.fm®, etc.). Such media contentinformation may be obtained from a DVR or other recording device thatstores recorded media content and is connected to one of end userdevices 108A-108N. Such media content information may also be obtainedfrom a device that is connected to one of end user devices 108A-108N viaa LAN or other local connection. Each of end user devices 108A-108N maybe interacted with by an end user to provide commands, queries, etc., invarious ways, such as by a text input, a voice command, etc.

To obtain information about items of media content from external contentproviders, as will be discussed in detail hereinafter, media contentsearch system 104 crawls certain source websites via network 120. Forinstance, source websites 106A-106N are websites that are published byproviders of media content (e.g., Netflix®, Hulu®, Amazon®, HBOGO®,etc.) and that provide a means for accessing digital media contentthereon.

As shown in FIG. 1, media content search system 104 includes an EPG datareceiver 110, a media content catalog enhancer 112, a personalizedsearcher 114, a web crawler 116, and a database 118. One or more ofthese components of media content search system 104 may be implementedon the same device. Alternatively, each of these components of mediacontent search system 104 may be implemented on its own device.Furthermore, each of these components of media content search system 104may be implemented in hardware (e.g., as digital and/or analogcircuits), as software (e.g., as computer programs executed by one ormore processors), or as a combination of hardware and software. EPG datareceiver 110 is configured to receive EPG data from EPG data provider102. As noted above, the EPG data may specify or identify items of mediacontent and corresponding information (e.g., air times, channels, etc.).EPG data receiver 110 may be configured to obtain EPG data from EPG dataprovider 102 on a continuous, periodic or intermittent basis.

Media content catalog enhancer 112 is configured to identify new itemsof media content and to obtain information about such new items of mediacontent for storage in database 118. In an embodiment, media contentcatalog enhancer 112 is configured to determine if an item of mediacontent identified by the EPG data received by EPG data receiver 110comprises new media content and in response to determining that the itemof media content identified by the EPG data comprises new media content,to cause web crawler 116 to crawl a source website associated with thenew media content to obtain information about the new media content. Forinstance, the source website may be one of source websites 106A-106N.

Media content catalog enhancer 112 is further configured to storeobtained information about new media content in database 118. Database118 is stored in one or more suitable memory devices. Database 118 isconfigured to store obtained information relating to new media content.In an embodiment, database 118 stores a content ID for each item ofmedia content that can be used to access such item of media content froma content provider website or service for playback. Thus, for example,when an end user of an end user device 108A-108N wishes to watch an itemof media content, the content ID can be retrieved from database 118 andpassed to the content provider website or service to quickly retrievethe content. In the embodiment shown in FIG. 1, database 118 isconfigured to maintain information relating to items of media contentwherein such information is retrieved from various sources, includingsource websites 106A-106N.

Personalized searcher 114 is configured to enable users of end userdevices 108A-108N to perform a targeted search for content withindatabase 118. For instance, personalized searcher 114 is configured toreceive a search query from a user of one of end user devices 108A-108N.Accordingly, personalized searcher 114 may apply the search query todatabase 118 to identify items of media content that are responsive tothe search query. As noted above, the identified items of media contentmay contain information relating to items of media content that the useris unable to access. As such, personalized searcher 114 is furtherconfigured to filter and/or rank the items of media content based onwhat items of media content the end user has a right to access. Theitems of media content may be filtered and/or ranked in various ways,discussed in detail hereinafter. Once the items of media content arefiltered and/or ranked, personalized searcher 114 is further configuredto provide information about the filtered or ranked items of mediacontent to the end user device 108A-108N for presentation to the enduser. In the embodiment shown in FIG. 1, personalized searcher 114 isconfigured to enable end users of end user devices to perform targetedsearches for content within database 118, including end users of enduser devices 108A-108N.

The operation of system 100 will now be further described as followswith respect to FIG. 2. In particular, FIG. 2 shows a flowchart 200 of amethod for performing a targeted crawl to develop and/or maintain asearchable database of media content that is accessible by an end userdevice, in accordance with an embodiment. In an embodiment, system 100of FIG. 1 may operate according to flowchart 200. Further structural andoperational embodiments will be apparent to persons skilled in therelevant art(s) based on the discussion regarding flowchart 200.Flowchart 200 is described as follows.

Flowchart 200 begins with step 202. In step 202, EPG data is receivedfrom an EPG provider. For example, and with reference to FIG. 1, EPGdata receiver 110 receives EPG data from EPG data provider 102. The EPGdata may identify items of media content and include additionalinformation about the media content (e.g., air times, channels, etc.).For example, the EPG data may identify an item of media content as “Gameof Thrones Season 8, Episode 1” and also specify that the item of mediacontent is scheduled to become available on content provider “HBO” at 9P.M. EST on a particular future date.

In step 204, it is determined that an item of media content identifiedby the EPG data comprises new media content. For example, and withreference to FIG. 1, media content catalog enhancer 112 determines if anitem of media content identified by the EPG data comprises new mediacontent. For example, in accordance with step 204, media content catalogenhancer 112 determines if “Game of Thrones Season 8, Episode 1”comprises new media content. As noted above, and as discussed in detailhereinafter, media content catalog enhancer 112 may make thisdetermination in a variety of ways.

In step 206, steps 206A, and 206B are performed for each item of mediacontent identified by the EPG data that is determined to include newmedia content. For example, if it is determined that “Game of ThronesSeason 8, Episode 1” includes new media content, steps 206A and 206Bwill be performed for that item of media content.

At step 206A, a source website associated with the new media content iscrawled to obtain information about the new media content. For example,and with continued reference to FIG. 1, web crawler 116 crawls one ofsource websites 106A-106N that is associated with the new media contentto obtain information about the new media content. This information mayinclude, for example, a content ID that identifies the new media contentand enables the new media content to be accessed at the correspondingsource website or using a corresponding web service. For example, ifsource website 106A is an “HBO®” website, then web crawler 116 willcrawl source website 106A to obtain a content ID relating to “Game ofThrones Season 8, Episode 1.” This content ID will be specific to “HBO®”such that a when the content ID is passed to the “HBO®” website orservice, that “HBO®” website or service will access “Game of ThronesSeason 8, Episode 1” as the desired content.

At step 206B, the obtained information about the new media content isstored in a database. For example, and with continued reference to FIG.1, the information obtained by web crawler 116 is stored in database118. For example, the content ID relating to “Game of Thrones Season 8,Episode 1” will be stored in database 118 (as well as various otheritems of information that may be obtained via the aforementioned webcrawling).

Flowcharts of various methods that may be performed by system 100 or aspart of the method of flowchart 200 will now be described. For instance,FIG. 3 shows a flowchart 300 of a method for determining that an item ofmedia content comprises new media content, in accordance with anembodiment. Flowchart 300 may be implemented by media content catalogenhancer 112 of FIG. 1. Flowchart 300 is described as follows. Otherstructural and operational embodiments will be apparent to personsskilled in the relevant art(s) based on the following discussionregarding flowchart 300.

Flowchart 300 begins with step 302. In step 302, it is determined thatinformation about the item of media content is not already stored in thedatabase. For example, and with continued reference to FIG. 1, mediacontent catalog enhancer 112 may determine that information about theitem of new media content identified by the EPG data is not alreadystored in database 118. For example, media content catalog enhancer 112may determine that information about “Game of Thrones Season 8, Episode1” is not already stored in database 118 and in response to determiningthat information about “Game of Thrones Season 8, Episode 1” is notalready stored in database 118, determine that “Game of Thrones Season8, Episode 1” comprises new media content.

Alternatively, the item of media content may be determined to comprisenew media content based on the received EPG data. For instance, FIG. 4shows another flowchart 400 of a method for determining that an item ofmedia content comprises new media content, in accordance with anembodiment. Flowchart 400 may be implemented by media content catalogenhancer 112 of FIG. 1. Flowchart 400 is described as follows. Otherstructural and operational embodiments will be apparent to personsskilled in the relevant art(s) based on the following discussionregarding flowchart 400.

Flowchart 400 begins with step 402. In step 402, it is determined thatan item of media content is being aired for the first time as specifiedby the EPG data. For example, and with reference to FIG. 1, mediacontent catalog enhancer 112 may receive EPG data that includes for anitem of media content: a title, an air time, a channel, and anindication that the title is being aired for the first time. Since theEPG data includes an indication that the title is being aired for thefirst time, media content catalog enhancer 112 determines that the itemof media content comprises new media content. For example, if thereceived EPG data includes “Game of Thrones Season 8, Episode 1”,“HBO®”, “9 P.M. EST” on some future date, and an indication that thetitle is being aired for the first time, media content catalog enhancer112 will determine that “Game of Thrones Season 8, Episode 1” comprisesnew media content.

Furthermore, the item of media content identified by the EPG data may bedetermined to comprise new media content based on both the received EPGdata and whether or not information about the item of media content isalready present in the database. For instance, FIG. 5 shows anotherflowchart 500 of a method for determining that an item of media contentcomprises new media content, in accordance with an embodiment. Flowchart500 may be implemented by media content catalog enhancer 112 of FIG. 1.Flowchart 500 is described as follows. Other structural and operationalembodiments will be apparent to persons skilled in the relevant art(s)based on the following discussion regarding flowchart 500.

Flowchart 500 begins with step 502. In step 502, it is determined thatan item of media content is being aired for the first time as specifiedby the EPG data. For example, and with continued reference to FIG. 1,media content catalog enhancer 112 may receive EPG data that includesfor an item of media content: a title, an air time, a channel, and anindication that the title is being aired for the first time. Since theEPG data includes an indication that the title is being aired for thefirst time, media content catalog enhancer 112 determines that the itemof media content is potentially new media content. For example, if thereceived EPG data includes “Game of Thrones Season 8, Episode 1”, HBO®,9 P.M. EST on some future date, and an indication that the title isbeing aired for the first time, media content catalog enhancer 112determines that “Game of Thrones Season 8, Episode 1” is potentially newmedia content.

In step 504, in response to determining that the item of media contentis potentially new media content, it is determined that informationabout the item of media content is not already stored in the database.For example, and with continued reference to FIG. 1, media contentcatalog enhancer 112 may determine that information about the item ofmedia content identified by the EPG data is not already stored indatabase 118. For example, media content catalog enhancer 112 maydetermine that information about “Game of Thrones Season 8, Episode 1”is not already stored in database 118 and in response to determiningthat information about “Game of Thrones Season 8, Episode 1” is notalready stored in database 118, determine that “Game of Thrones Season8, Episode 1” comprises new media content.

As noted above, in response to an item of media content being determinedto comprise new media content, an associated source website may becrawled to retrieve information about the new media content. In anembodiment, if received EPG data specifies that the content is to becomeavailable at some later time, then the crawling of the source websitemay be scheduled for such later time, or for some predetermined timebefore or after the later time. For instance, FIG. 6 shows a flowchart600 of a method for scheduling a targeted crawl of a source website, inaccordance with an embodiment. Flowchart 600 may be implemented by mediacontent catalog enhancer 112 of FIG. 1. Flowchart 600 is described asfollows. Other structural and operational embodiments will be apparentto persons skilled in the relevant art(s) based on the followingdiscussion regarding flowchart 600.

Flowchart 600 begins with step 602. In step 602, the crawling of thesource website is scheduled to be performed at a time identified in theEPG data or based on the time identified in the EPG data. For example,and with continued reference to FIG. 1, media content catalog enhancer112 may schedule web crawler 116 to crawl the source website associatedwith the new media content at a time identified in the EPG data or at atime based on the time identified in the EPG data. For example, if theEPG data specifies that “Game of Thrones Season 8, Episode 1” will beavailable on source website 106A (i.e., “HBO®”) in three days at 9 P.M.EST, media content catalog enhancer 112 may schedule web crawler 116 tocrawl source website 106A in three days at 9 P.M. EST (or at some timebefore or after this time, such as 1 hour before or after this time).This approach provides advantages including that web crawler 116 doesnot need to continuously crawl source website 106A to find the desiredinformation which could result in source website 106A blocking webcrawler 116. This also enables information will be retrieved related to“Game of Thrones Season 8, Episode 1” at the time that it becomesavailable so there will be little or no delay.

As noted above, a user may search for an item of media content. Forinstance, FIG. 7 shows a flowchart 700 of a method for searching adatabase for media content that is accessible by a user device, inaccordance with an embodiment. Flowchart 700 may be implemented bypersonalized searcher 114 of FIG. 1. Flowchart 700 is described asfollows. Other structural and operational embodiments will be apparentto persons skilled in the relevant art(s) based on the followingdiscussion regarding flowchart 700.

Flowchart 700 begins with step 702. In step 702, a search query receivedfrom the end user device is applied to the database to identify items ofmedia content that are responsive to the query. For instance, and withreference to FIG. 1, a user of one of end user devices 108A-108N inputsa search query that is received by personalized searcher 114. In anembodiment, the search query includes a request to identify items ofmedia content related to the search query. For instance, a user of enduser device 108A may input a search query to see “Action Movies” that isreceived by personalized searcher 114. In an embodiment, personalizedsearcher 114 identifies items of media content about which informationis stored in database 118 that are related to the search query. Forexample, and in response to the search query of the user of end userdevice 108A, personalized searcher 114 identifies items of media contentabout which information is present in database 118 that are related tothe search query. For instance, personalized searcher 114 identifiesmovies about which information is stored in database 118 that arecategorized as being in the action genre.

In step 704, the items of media content that are responsive to thesearch query are filtered or ranked based on one or more of: whether theend user possesses a subscription to a service associated with each itemof media content that is responsive to the query; a measure ofpopularity of each item of media content that is responsive to thequery; whether each item of media content that is responsive to thequery is currently available on live television; user preferencesassociated with one or more of the items of media content that areresponsive to the query; whether each item of media content is relatedto a recently-watched item of media content; or whether each item ofmedia content is determined to be of interest to one or more other endusers that are related to the end user.

For instance, in an embodiment, personalized searcher 114 filters orranks the items of media content that are responsive to the search querybased on whether the end user possesses a subscription to a serviceassociated with each item of media content that is responsive to thesearch query. For instance, assume the user of end user device 108A onlyhas subscriptions to Netflix® and HBOGO®. Then, when personalizedsearcher 114 returns information about movies in the action genre thatare available on Netflix®, HBOGO®, and Amazon®, the movies provided byAmazon® should be filtered out or ranked below those provided byNetflix® and HBOGO®. As such, personalized searcher 114 will filter outthe movies provided by Amazon® and only provide information about themovies provided by Netflix® and HBOGO® to the user. Alternatively, oradditionally, personalized searcher 114 may rank the movies provided byNetflix® and HBOGO® first, and then the movies provided by Amazon®second. The filtering or ranking may be performed by personalizedsearcher 114 in various ways.

In another embodiment, personalized searcher 114 filters or ranks theitems of media content based on a measure of popularity of each item ofmedia content that is responsive to the query. In another embodiment,personalized searcher 114 filters or ranks the items of media contentbased on whether each item of media content that is responsive to thequery is currently available on live television. In another embodiment,personalized searcher 114 filters or ranks the items of media contentbased on user preferences associated with one or more of the items ofmedia content that are responsive to the query. In another embodiment,personalized searcher 114 filters or ranks the items of media contentbased on whether each item of media content is related to arecently-watched item of media content. In another embodiment,personalized searcher 114 filters or ranks the items of media contentbased on whether each item of media content is determined to be ofinterest to one or more other end users that are related to the enduser. Personalized searcher 114 may use any of the above-describedtechniques to filter or rank the responsive items of media content aloneor in any combination. Personalized searcher 114 may further use otheror additional methods for filtering or ranking the responsive items ofmedia content.

In step 706, information about the filtered or ranked items of mediacontent are provided to the end user device for presentation to the enduser. For instance, and with continued reference to FIG. 1, informationabout the filtered or ranked items of media content may be provided toany one of end user devices 108A-108N that transmitted the search query.In embodiments, the filtered or ranked items of media content aredisplayed to a user of end user device 108A via a display. The displaymay be, in embodiments, present on end user device 108A, or a displaydevice connected thereto. For example, with continued reference to aparticular example set forth above, information about the relevantmovies available on Netflix® and HBOGO® (and optionally, the additionalmovies available on Amazon®) may be displayed to the end user via adisplay device that is connected to end user device 108A.

Furthermore, and as noted above, the end user of the corresponding enduser device may select an item of media content from the displayed listto play the selected item of media content. If the user chooses an itemof media content, the end user device and/or media content search system104 passes the corresponding content ID of the item of media content tothe appropriate content provider website or service to obtain and playthe item of media content. For instance, the user of end user device108A may select a movie available on Netflix®. End user device 108Aand/or media content search system 104 will pass the content IDcorresponding to the selected movie to the Netflix® website or service,which the Netflix® website or service recognizes as the selected movie.As such, the movie will be quickly obtained for playback to the enduser.

In an alternative embodiment, instead of or in addition to using EPGdata to identify new media content as described above, a media contentsearch system crawls certain websites to identify new media content. Forinstance, FIG. 8 shows a block diagram of another example system 800 forperforming a targeted crawl to develop and/or maintain a searchabledatabase of media content that is accessible by an end user device, inaccordance with an embodiment. As shown in FIG. 8, system 800 includeswebsites 802A-802N, media content search system 804, source websites106A-106N, and end user devices 108A-108N. Media content search system804 is similar to media content search system 104 of FIG. 1, except thatinstead of EPG receiver 110, media content search system 804 includes amedia content identifier 810 for identifying items of media content. Aswill be discussed below, media content identifier 810 identifies suchitems of media content by causing certain websites (namely, websites802A-802N) to be crawled. Websites 802A-802N may be connected to andaccessed by media content search system 804 via network 120. Eachcomponent of media content search system 804 may be implemented inhardware, software, or as a combination of software. Furthermore, one ormore components of media content search system 804 may be executed onthe same computing device or on their own computing device.

The operation of system 800 will now be further described in referenceto FIG. 9. In particular, FIG. 9 shows a flowchart 900 of another methodfor performing a targeted crawl to develop and/or maintain a searchabledatabase of media content that is accessible by an end user device, inaccordance with an embodiment. Flowchart 900 may be implemented by mediacontent search system 804 of FIG. 8. Flowchart 900 is described asfollows. Other structural and operational embodiments will be apparentto persons skilled in the relevant art(s) based on the followingdiscussion regarding flowchart 900.

Flowchart 900 begins with step 902. In step 902, one or more trendingwebsites, rating websites, or informational websites are crawled toidentify an item of media content. For example, and with reference toFIG. 8, media content identifier 810 may cause web crawler 116 to crawlone or more of websites 802A-802N to identify an item of media content.For example, media content identifier 810 may cause web crawler 116 tocrawl “Twitter®” (i.e., website 802A) to identify that “Game of ThronesSeason 8, Episode 1” is a popular item of media content that is beingdiscussed.

In step 904, it is determined if the item of media content comprises newmedia content. This may be performed in various ways. For instance, andwith reference to FIG. 8, media content catalog enhancer 112 maydetermine that an item of media content identified by media contentidentifier 810 is new media content by determining that informationabout the item of media content is not already stored in database 118.In another embodiment, media content catalog enhancer 112 may determinethat an item of media content identified by media content identifier 810comprises new media content based on additional information about theitem of media content that is obtained at a corresponding website. Forexample, media content catalog enhancer 112 may determine thatinformation about “Game of Thrones Season 8, Episode 1” is not stored indatabase 118 and thus determine that “Game of Thrones Season 8, Episode1” comprises new media content. Alternatively, media content catalogenhancer 112 may determine that “Game of Thrones Season 8, Episode 1” isnew media content based on information retrieved from “Twitter®” (e.g.,website 802A), that indicates that “Game of Thrones Season 8, Episode 1”is premiering or is “New”.

In step 906, steps 906A, and 906B are performed for each item of mediacontent that is determined to include new media content. For example, ifit is determined that “Game of Thrones Season 8, Episode 1” comprisesnew media content, steps 906A and 906B will be performed for that itemof media content.

At step 906A, a source website associated with the new media content iscrawled to obtain information about the new media content. For example,and with continued reference to FIG. 8, web crawler 116 crawls one ofsource websites 106A-106N that are associated with the new media contentto obtain information about the new media content. This information mayinclude, for example, a content ID that identifies the new media contentand enables the new media content to be accessed at the correspondingsource website or using the corresponding web service. For example, ifsource website 106A is an “HBO” website, then web crawler 116 will crawlsource website 106A to obtain a content ID relating to “Game of ThronesSeason 8, Episode 1.” This content ID will be specific to “HBO” suchthat a when the content ID is passed to the “HBO” website or service,the “HBO” website or service will access “Game of Thrones Season 8,Episode 1” as the desired content.

At step 906B, the obtained information about the new media content isstored in a database. For example, and with continued reference to FIG.8, the information obtained by web crawler 116 is stored in database118. For example, the content ID relating to “Game of Thrones Season 8,Episode 1” will be stored in database 118.

III. Example Computer System Implementation

Various components of above-described media content search system may beimplemented in hardware, or any combination of hardware with softwareand/or firmware. For example, various components of the above-describedmedia content search system may be implemented as computer program codeconfigured to be executed in one or more processors. In another example,various components of the above-described media content search systemmay be implemented as hardware (e.g., hardware logic/electricalcircuitry), or any combination of hardware with software (computerprogram code configured to be executed in one or more processors orprocessing devices) and/or firmware.

The embodiments described herein, including systems, methods/processes,and/or apparatuses, may be implemented using a processor-based computersystem, such as system 1000 shown in FIG. 10. For example, variouscomponents of the above-described media content search system can eachbe implemented using one or more systems 1000.

System 1000 can be any commercially available and well known computercapable of performing the functions described herein, such as computersavailable from International Business Machines, Apple, Sun, HP, Dell,Cray, etc. System 1000 may be any type of computer, including a desktopcomputer, a server, etc.

As shown in FIG. 10, system 1000 includes one or more processors (alsocalled central processing units, or CPUs), such as a processor 1006.Processor 1006 may be used to implement certain elements of theabove-described media content search system; or any portion orcombination thereof, for example, though the scope of the embodiments isnot limited in this respect. Processor 1006 is connected to acommunication infrastructure 1002, such as a communication bus. In someembodiments, processor 1006 can simultaneously operate multiplecomputing threads.

System 1000 also includes a primary or main memory 1008, such as randomaccess memory (RAM). Main memory 1008 has stored therein control logic1024 (computer software), and data.

System 1000 also includes one or more secondary storage devices 1010.Secondary storage devices 1010 may include, for example, a hard diskdrive 1012 and/or a removable storage device or drive 1014, as well asother types of storage devices, such as memory cards and memory sticks.For instance, system 1000 may include an industry standard interface,such a universal serial bus (USB) interface for interfacing with devicessuch as a memory stick. Removable storage drive 1014 may represent afloppy disk drive, a magnetic tape drive, a compact disk drive, anoptical storage device, tape backup, etc.

Removable storage drive 1014 may interact with a removable storage unit1016. Removable storage unit 1016 includes a computer useable orreadable storage medium 1018 having stored therein computer software1026 (control logic) and/or data. Removable storage unit 1016 representsa floppy disk, magnetic tape, compact disc (CD), digital versatile disc(DVD), Blu-ray′ disc, optical storage disk, memory stick, memory card,or any other computer data storage device. Removable storage drive 1014reads from and/or writes to removable storage unit 1016 in a well-knownmanner.

System 1000 also includes input/output/display devices 1004, such asmonitors, keyboards, pointing devices, etc.

System 1000 further includes a communication or network interface 1020.Communication interface 1020 enables system 1000 to communicate withremote devices. For example, communication interface 1020 allows system1000 to communicate over communication networks or mediums 1022(representing a form of a computer useable or readable medium), such aslocal area networks (LANs), wide area networks (WANs), the Internet,etc. Communication interface 1020 may interface with remote sites ornetworks via wired or wireless connections. Examples of communicationinterface 1022 include but are not limited to a modem, a networkinterface card (e.g., an Ethernet card), a communication port, aPersonal Computer Memory Card International Association (PCMCIA) card,etc.

Control logic 1028 may be transmitted to and from system 1000 via thecommunication medium 1022.

Any apparatus or manufacture comprising a computer useable or readablemedium having control logic (software) stored therein is referred toherein as a computer program product or program storage device. Thisincludes, but is not limited to, system 1000, main memory 1008,secondary storage devices 1010, and removable storage unit 1016. Suchcomputer program products, having control logic stored therein that,when executed by one or more data processing devices, cause such dataprocessing devices to operate as described herein, represent embodimentsof the invention.

Devices in which embodiments may be implemented may include storage,such as storage drives, memory devices, and further types ofcomputer-readable media. Examples of such computer-readable storagemedia include a hard disk, a removable magnetic disk, a removableoptical disk, flash memory cards, digital video disks, random accessmemories (RAMs), read only memories (ROM), and the like. As used herein,the terms “computer program medium” and “computer-readable medium” areused to generally refer to the hard disk associated with a hard diskdrive, a removable magnetic disk, a removable optical disk (e.g.,CDROMs, DVDs, etc.), zip disks, tapes, magnetic storage devices, MEMS(micro-electromechanical systems) storage, nanotechnology-based storagedevices, as well as other media such as flash memory cards, digitalvideo discs, RAM devices, ROM devices, and the like. Suchcomputer-readable storage media may store program modules that includecomputer program logic for implementing the elements of theabove-described media content search system and/or further embodimentsdescribed herein. Embodiments of the invention are directed to computerprogram products comprising such logic (e.g., in the form of programcode, instructions, or software) stored on any computer useable medium.Such program code, when executed in one or more processors, causes adevice to operate as described herein.

Note that such computer-readable storage media are distinguished fromand non-overlapping with communication media. Communication mediaembodies computer-readable instructions, data structures, programmodules or other data in a modulated data signal such as a carrier wave.The term “modulated data signal” means a signal that has one or more ofits characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wireless media such as acoustic, RF,infrared and other wireless media, as well as wired media. Exampleembodiments are also directed to such communication media.

It is noted that while FIG. 10 shows a server/computer, persons skilledin the relevant art(s) would understand that embodiments/featuresdescribed herein could also be implemented using other well-knownprocessor-based computing devices, including but not limited to, smartphones, tablet computers, netbooks, gaming consoles, personal mediaplayers, and the like.

IV. Additional Example Embodiments

A system is described herein. The system includes one or moreprocessors; and one or more memory devices connected to the one or moreprocessors, the one or more memory devices storing computer programlogic for execution by the one or more processors, the computer programlogic including: an electronic program guide (EPG) data receiverconfigured to receive EPG data from an EPG data provider; and a mediacontent catalog enhancer that is configured to determine that an item ofmedia content identified by the EPG data comprises new media content andin response to determining that the item of media content identified bythe EPG data comprises new media content, to cause a web crawler tocrawl a source website associated with the new media content to obtaininformation about the new media content, and to store the obtainedinformation about the new media content in a database, the databasecomprising a catalog of media content that is searchable by an end userto identify and access content for playback via an end user device.

In one embodiment of the foregoing system, the media content catalogenhancer is configured to determine that the item of media contentidentified by the EPG data comprises new media content by: determiningthat information about the item of media content is not already storedin the database.

In another embodiment of the foregoing system, the media content catalogenhancer is configured to determine that the item of media contentidentified by the EPG data comprises new media content by: determiningthat the item of media content is being aired for the first time asspecified by the EPG data.

In another embodiment of the foregoing system, the media content catalogenhancer is configured to determine that the item of media contentidentified by the EPG data comprises new media content by: determiningthat the item of media content is being aired for the first time asspecified by the EPG data; and determining that information about theitem of media content is not already stored in the database.

In another embodiment of the foregoing system, the media content catalogenhancer is configured to cause the web crawler to crawl the sourcewebsite associated with the new media content to obtain the informationabout the new media content by: scheduling the crawling of the sourcewebsite to be performed at a time identified by the EPG data.

In another embodiment of the foregoing system, the database is populatedby obtaining information about items of media content from one or moreof: entertainment content metadata provider(s); video contentprovider(s); web-based information provider(s); audio contentprovider(s); recorded content; and network-based content.

In another embodiment of the foregoing system, the source websiteassociated with the new media content comprises one of: an over-the-top(OTT) media services provider website; or an online digital media store.

In another embodiment of the foregoing system, the system furthercomprises a personalized searcher that is configured to: apply a searchquery received from the end user device to the database to identifyitems of media content that are responsive to the search query; andfilter or rank the items of media content that are responsive to thesearch query based on one or more of: whether the end user possesses asubscription to a service associated with each item of media contentthat is responsive to the search query; a measure of popularity of eachitem of media content that is responsive to the search query; whethereach item of media content that is responsive to the search query iscurrently available on live television; user preferences associated withone or more of the items of media content that are responsive to thesearch query; whether each item of media content that is responsive tothe search query is related to a recently-watched item of media content;and whether each item of media content that is responsive to the searchquery is determined to be of interest to one or more other end usersthat are related to the end user; and provide information about thefiltered or ranked items of media content to the end user device forpresentation to the end user.

A computer-implemented method is described herein. The method comprisesreceiving electronic program guide (EPG) data from an EPG data provider;determining that an item of media content identified by the EPG datacomprises new media content; in response to determining that the item ofmedia content identified by the EPG data comprises new media content:crawling a source website associated with the new media content toobtain information about the new media content; and storing the obtainedinformation about the new media content in a database, the databasecomprising a catalog of media content that is searchable by an end userto identify and access content for playback via an end user device.

In one embodiment of the foregoing computer-implemented method,determining that the item of media content identified by the EPG datacomprises new media content comprises: determining that informationabout the item of media content is not already stored in the database.

In another embodiment of the foregoing computer-implemented method,determining that the item of media content identified by the EPG datacomprises new media content comprises: determining that the item ofmedia content is being aired for the first time as specified by the EPGdata.

In another embodiment of the foregoing computer-implemented method,determining that the item of media content identified by the EPG datacomprises new media content comprises: determining that the item ofmedia content is being aired for the first time as specified by the EPGdata; and determining that information about the item of media contentis not already stored in the database.

In another embodiment of the foregoing computer-implemented method,crawling the source website associated with the new media content toobtain the information about the new media content comprises: schedulingthe crawling of the source website to be performed at a time identifiedin the EPG data.

In another embodiment of the foregoing computer-implemented method, thedatabase is populated by obtaining information about items of mediacontent from one or more of: entertainment content metadata provider(s);video content provider(s); web-based information provider(s); audiocontent provider(s); recorded content; and network-based content.

In another embodiment of the foregoing computer-implemented method, thesource website associated with the new media content comprises one of:an over-the-top (OTT) media services provider website; or an onlinedigital media store.

In another embodiment of the foregoing computer-implemented method, themethod further comprises applying a search query received from the enduser device to the database to identify items of media content that areresponsive to the search query; filtering or ranking the items of mediacontent that are responsive to the search query based on one or more of:whether the end user possesses a subscription to a service associatedwith each item of media content that is responsive to the search query;a measure of popularity of each item of media content that is responsiveto the search query; whether each item of media content that isresponsive to the search query is currently available on livetelevision; user preferences associated with one or more of the items ofmedia content that are responsive to the search query; whether each itemof media content that is responsive to the search query is related to arecently-watched item of media content; and whether each item of mediacontent that is responsive to the search query is determined to be ofinterest to one or more other end users that are related to the enduser; and providing information about the filtered or ranked items ofmedia content to the end user device for presentation to the end user.

A computer-implemented method is described herein. The method comprisescrawling one or more trending websites, rating websites, orinformational websites to identify an item of media content; determiningthat the item of media content comprises new media content; in responseto determining that the item of media comprises new media content:crawling a source website associated with the new media content toobtain information about the new media content; and storing the obtainedinformation about the new media content in a database, the databasecomprising a catalog of media content that is searchable by an end userto identify and access content for playback via an end user device.

In another embodiment of the foregoing computer-implemented method,determining that the item of media content comprises new media contentcomprises: determining that information about the item of media contentis not already stored in the database.

In another embodiment of the foregoing computer-implemented method, thedatabase is populated by obtaining information about items of mediacontent from one or more of: entertainment content metadata provider(s);video content provider(s); web-based information provider(s); audiocontent provider(s); recorded content; and network-based content.

In another embodiment of the foregoing computer-implemented method, thesource website associated with the new media content comprises one of:an over-the-top (OTT) media services provider website; or an onlinedigital media store.

IV. Conclusion

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. It will be apparent to persons skilled in the relevant artthat various changes in form and detail can be made therein withoutdeparting from the spirit and scope of the embodiments. Thus, thebreadth and scope of the embodiments should not be limited by any of theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A system for accessing media content, comprising:a device having a plurality of HDMI ports, one or more processors, awireless interface for accessing the Internet, and one or more memorydevices connected to the one or more processors, wherein the device isconfigured to: receive data, wherein the data includes an identificationof a first item of media content and at least two additional pieces ofinformation related to the item of media content selected from the groupconsisting of: a channel to display the item of media content; an airtime of the first item of media content; an indication that the firstitem is new media content; and a genre for the first item of mediacontent; and access at least one database comprising a catalog of mediacontent from different media content providers that is searchable by anend user to identify and access content for playback via the device,wherein the database includes information identifying the at least twoadditional pieces of information related to the first item of mediacontent.
 2. The system of claim 1, wherein the different media contentproviders comprise at least one of: an entertainment content metadataprovider; a video content provider; web-based information provider; oran audio content provider.
 3. The system of claim 1, wherein the deviceis further configured to: enable a user to input a search query toidentify the first time of media content for playback by the device. 4.The system of claim 3, wherein the search query specifies the genre forthe first item of media content.
 5. The system of claim 3, wherein thedata is received responsive to the search query.
 6. The system of claim1, wherein the device is further configured to: enable a user to selectthe first item of media content.
 7. The system of claim 6, wherein thedevice is further configured to: provide the identification of the firstitem of media content to a media content provider of the different mediacontent providers that provides the first item of media contentresponsive to the user selecting the first item of media content.
 8. Amethod for accessing media content performed by a device having aplurality of HDMI ports, one or more processors, a wireless interfacefor accessing the Internet, and one or more memory devices connected tothe one or more processors, the method comprising: receiving data,wherein the data includes an identification of a first item of mediacontent and at least two additional pieces of information related to theitem of media content selected from the group consisting of: a channelto display the item of media content; an air time of the first item ofmedia content; an indication that the first item is new media content;and a genre for the first item of media content; and accessing at leastone database comprising a catalog of media content from different mediacontent providers that is searchable by an end user to identify andaccess content for playback via the device, wherein the databaseincludes information identifying the at least two additional pieces ofinformation related to the first item of media content.
 9. The method ofclaim 8, wherein the different media content providers comprise at leastone of: an entertainment content metadata provider; a video contentprovider; web-based information provider; or an audio content provider.10. The method of claim 8, further comprising: enabling a user to inputa search query to identify the first time of media content for playbackby the device.
 11. The method of claim 10, wherein the search queryspecifies the genre for the first item of media content.
 12. The methodof claim 10, wherein the data is received responsive to the searchquery.
 13. The method of claim 8, further comprising: enabling a user toselect the first item of media content.
 14. The method of claim 13,further comprising: providing the identification of the first item ofmedia content to a media content provider of the different media contentproviders that provides the first item of media content responsive tothe user selecting the first item of media content.
 15. Acomputer-readable storage medium having program instructions recordedthereon that, when executed by at least one processing circuit of adevice having a plurality of HDMI ports, a wireless interface foraccessing the Internet, and one or more memory devices connected to theat least one processing circuit, perform a method, the methodcomprising: receiving data, wherein the data includes an identificationof a first item of media content and at least two additional pieces ofinformation related to the item of media content selected from the groupconsisting of: a channel to display the item of media content; an airtime of the first item of media content; an indication that the firstitem is new media content; and a genre for the first item of mediacontent; and accessing at least one database comprising a catalog ofmedia content from different media content providers that is searchableby an end user to identify and access content for playback via thedevice, wherein the database includes information identifying the atleast two additional pieces of information related to the first item ofmedia content.
 16. The computer-readable storage medium of claim 15,wherein the different media content providers comprise at least one of:an entertainment content metadata provider; a video content provider;web-based information provider; or an audio content provider.
 17. Thecomputer-readable storage medium of claim 15, further comprising:enabling a user to input a search query to identify the first time ofmedia content for playback by the device.
 18. The computer-readablestorage medium of claim 17, wherein the search query specifies the genrefor the first item of media content.
 19. The computer-readable storagemedium of claim 17, wherein the data is received responsive to thesearch query.
 20. The computer-readable storage medium of claim 15,further comprising: enabling a user to select the first item of mediacontent.